When a network, such as a voice over Internet protocol (IP) network, grows to a certain size, a single call server cannot handle all of the call signaling traffic. As used herein, the term call server refers to an entity that performs call signaling functions in a voice over IP network. Examples of call servers include gatekeepers that implement ITU Recommendation H.323, connection managers that communicate with media gateways, according to the media gateway control protocol (MGCP), and proxy servers that implement the session initiation protocol (SIP). In order to handle the increased call traffic when a network grows to a certain size, it is desirable to utilize multiple call servers to perform call signaling operations for both capacity and reliability reasons.
When multiple call servers, i.e., two or more call servers, are operating within a network, routing and translation data, such as the mappings from numbering plan addresses, such as private numbering plan addresses, public numbering plan addresses, or E.164 addresses, to call signaling transport addresses, must be made available among multiple peer call servers. In addition, messages transported between peer call servers must be handled in an efficient manner. As used herein, the term peer call servers refers to a group of call servers that perform call processing functions as peers, rather than as clients and servers. If any of the above-mentioned operations that are to be performed by peer call servers require significant amounts of time and/or network traffic, the network will not work efficiently. Accordingly, there exists a need for novel methods and systems for efficiently performing call processing operations using a plurality of peer call servers.
Another problem associated with using multiple call servers to process calls in a packet network is to ensure that call servers are provisioned with translation information, such as E.164 address translation information, in a reliable, consistent, and efficient manner. For example, when an endpoint hosted by one call server moves to a location hosted by another call server, a reliable mechanism for updating the translation information in every affected call server is preferably provided. Accordingly, there exists a need for novel methods and systems for reliably, consistently, and efficiently provisioning call servers with translation information for hosted and non-hosted endpoints.